home *** CD-ROM | disk | FTP | other *** search
/ Gekkan Dennou Club 142 / Gekkan Dennou Club - 2000.3 Vol. 142 (Japan).7z / Gekkan Dennou Club - 2000.3 Vol. 142 (Japan) (Track 1).bin / tools / s_tool / mousescs.c < prev    next >
Text File  |  1997-08-21  |  7KB  |  222 lines

  1.  
  2. #if 0
  3. /***************************************
  4.     GETWINDOW_DISP(SUB DEVICES)
  5. ****************************************/
  6. void    GETWINDOW_DISP(id)
  7. int    id;
  8. {
  9. UNchar    buf[256];
  10. int    i;
  11. BUSYS( i=_scsi_getwindow( id,0x4c,buf) );
  12. if ( i!=0 ){
  13.     printf("getwindow でエラー(%d)\n",i);
  14.     if ( i==2 ) request_disp(id);
  15.     return;
  16. }
  17.     printf("windowのページ番号 = %d\n",buf[8]);
  18.     printf("主走査線の解像度 =%d.%d\n",buf[10]*0x100+buf[11],buf[72]*0x100+buf[73]);
  19.     printf("副走査線の解像度 =%d.%d\n",buf[12]*0x100+buf[13],buf[74]*0x100+buf[75]);
  20.     printf("主走査線の読取開始位置 =%d\n",*(int*)&buf[14]);
  21.     printf("副走査線の読取開始位置 =%d\n",*(int*)&buf[18]);
  22.     printf("主走査線の読取幅 =%d\n",*(int*)&buf[22]);
  23.     printf("副走査線の読取幅 =%d\n",*(int*)&buf[26]);
  24.     printf("濃度補正指定 =%02X\n",buf[30]);
  25.     printf("2値の場合の敷居値 = %d\n",buf[31]);
  26.     printf("読み取りモード = %d\n",buf[33]);
  27.     printf("1dot 当りのビット数 = %d\n",buf[34]);
  28.     printf("ハーフトーンパターン = %d\n",buf[35]*0x100+buf[36]);
  29.     printf("RIF = %d\n",(buf[37]>>7)&1);
  30.     printf("Padding = %d\n",buf[37]&7);
  31.     printf("輪郭強調 = %d\n",(buf[48]>>6)&3);
  32.     printf("ドロップアウト = %d\n",(buf[48]>>4)&3);
  33.     printf("読み取り速度 = %d\n",(buf[48]>>2)&1);
  34.     printf("主走査方向読取画素数 = %d\n",buf[49]*0x100+buf[50]);
  35.     printf("副走査方向読取画素数 = %d\n",buf[51]*0x100+buf[52]);
  36.     printf("色調整 (red)  = %04X\n",buf[53]*0x100+buf[54]);
  37.     printf("色調整 (green)= %04X\n",buf[55]*0x100+buf[56]);
  38.     printf("色調整 (blue) = %04X\n",buf[57]*0x100+buf[58]);
  39.     printf("色調整 (b/w)  = %04X\n",buf[59]*0x100+buf[60]);
  40.     printf("敷居値 (red)  = %d\n",buf[63]);
  41.     printf("敷居値 (green)= %d\n",buf[64]);
  42.     printf("敷居値 (blue) = %d\n",buf[65]);
  43.     printf("ドラフトモード = %d\n",(buf[66]>>7)&1);
  44.     printf("1line のスキャン単位 = %dμs\n",buf[67]*0x1000000+buf[68]*0x10000+buf[69]*0x100+buf[70]);
  45.     printf("ガンマテーブル = %d\n",buf[71]);
  46.  
  47. }
  48.  
  49. /***************************************
  50.     ModeSense(SUB DEVICES)
  51. ****************************************/
  52. void    SUBDEVICES_DISP(id)
  53. int    id;
  54. {                // Page
  55. UNchar    buf[256],buf2[256];
  56. int    i,j,m,n,l,x,y,z;
  57. //--------
  58.     i=_scsi_modesense( 0x20|SD_CUR,40,id,buf );
  59.     if ( i!=0 ){
  60.         printf("modeselect でエラー(%d)\n",i);
  61.         if ( i==2 ) request_disp(id);
  62.         END_DISP();
  63.     }
  64.     //-------- A-mode,F-mode チェック
  65.     if ( (buf[14]&bit(6))==0 && (buf[15]&bit(6))!=0 )
  66.         printf("オプション動作モード : FSUモード : 透過原稿読み取りユニットによる読み取り\n");
  67.     else if ( (buf[14]&bit(6))!=0 && (buf[15]&bit(6))==0 )
  68.         printf("オプション動作モード : ADFモード : 原稿自動送り装置による読み取り\n");
  69.     else if ( (buf[14]&bit(6))!=0 && (buf[15]&bit(6))!=0 )
  70.         printf("オプション動作モード : 反射モード : オプションを使用しません\n");
  71.     else    printf("オプション動作モード :  ★異常!\n");
  72.  
  73.     //-------- A-ready,F-ready チェック
  74.     if ( (buf[14]&bit(7))==0 && (buf[15]&bit(7))==0 )
  75.         printf("オプションは動作しません\n");
  76.     else if ( (buf[14]&bit(7))==0 && (buf[15]&bit(7))!=0 )
  77.         printf("透過原稿読み取りユニットがどうさできる状態\n");
  78.     else if ( (buf[14]&bit(7))!=0 && (buf[15]&bit(7))==0 )
  79.         printf("原稿自動送り装置が動作出来る\n");
  80.     else    printf("A-ready,F-ready  ★異常!\n");
  81.  
  82.     //------ A-type
  83.     i=buf[14]&3;
  84.     if ( i==0 )
  85.         printf("原稿自動送り装置未接続\n");
  86.     elif ( i==1 )
  87.         printf("原稿自動送り装置接続\n");
  88.     else    printf("A-type reserved ★異常!\n");
  89.  
  90.     //------ F-type
  91.     i=buf[15]&7;
  92.     if ( i==0 )
  93.         printf("透過原稿読み取り装置未接続\n");
  94.     elif ( i==1 )
  95.         printf("Mirrorタイプ\n");
  96.     elif ( i==2 )
  97.         printf("Lampタイプ\n");
  98.     elif ( (i&6)==6 )
  99.         printf("F-type reserved ★異常!\n");
  100.     else    printf("CCD タイプ\n");
  101.  
  102.     //---- Max X-Axis
  103.     i=buf[17]*0x1000000+
  104.       buf[18]*0x10000+
  105.       buf[19]*0x100+
  106.       buf[20];
  107.     printf("Max X-Axis valid scanning size = %d (%Xh)  : X-Axis × 単位 \n",i,i);
  108.  
  109.     //---- Max Y-Axis
  110.     i=buf[21]*0x1000000+
  111.       buf[22]*0x10000+
  112.       buf[23]*0x100+
  113.       buf[24];
  114.     printf("Max Y-Axis valid scanning size = %d (%Xh)  : Y-Axis × 単位 \n",i,i);
  115.  
  116.     //---- Tray Type
  117.     switch( (buf[25]&0xC0)/0x40 ){
  118.     case(0):printf("Tray Type : サイズ認識機能なし\n");
  119.         break;
  120.     case(1):printf("Tray Type : 主走査方向のみサイズ認識可能\n");
  121.         break;
  122.     case(2):printf("Tray Type : 主走査、副走査サイズ認識可能\n");
  123.         break;
  124.     default:printf("Tray Type : reserved ★異常!\n");
  125.     }
  126.  
  127.     //---- 用紙サイズ
  128.     { static UNchar RV[]="reserved ★異常?";
  129.     static UNchar *SP[]={
  130.             /*00*/    "NONE",
  131.             /*01*/    "ダブルレター",
  132.             /*02*/    "リガール",
  133.             /*03*/    "レター縦",
  134.             /*04*/    "インボイス",
  135.             /*05*/    RV,
  136.             /*06*/    "レターR",
  137.             /*07*/    "インボイスR",
  138.             /*08*/    RV,
  139.             /*09*/    RV,
  140.             /*0A*/    RV,
  141.             /*0B*/    RV,
  142.             /*0C*/    RV,
  143.             /*0D*/    RV,
  144.             /*0E*/    RV,
  145.             /*0F*/    RV,
  146.  
  147.             /*10*/    RV,
  148.             /*11*/    "A3",
  149.             /*12*/    "B4",
  150.             /*13*/    "A4",
  151.             /*14*/    "B5",
  152.             /*15*/    RV,
  153.             /*16*/    "A4R",
  154.             /*17*/    "B5R",
  155.             /*18*/    RV,
  156.             /*19*/    RV,
  157.             /*1A*/    RV,
  158.             /*1B*/    RV,
  159.             /*1C*/    RV,
  160.             /*1D*/    RV,
  161.             /*1E*/    RV,
  162.             /*1F*/    RV,
  163.  
  164.             /*20*/    RV,
  165.             /*21*/    "WLT/LTR",
  166.             /*22*/    "LG/LT/INV",
  167.             /*23*/    "INVR",
  168.             /*24*/    RV,
  169.  
  170.             /*27*/    RV,
  171.             /*28*/    RV,
  172.             /*29*/    "A3/A4R",
  173.             /*2A*/    "B4/B5R",
  174.             /*2B*/    RV,
  175.             /*2C*/    RV,
  176.             /*2D*/    RV,
  177.             /*2E*/    RV,
  178.             /*2F*/    RV
  179.         };
  180.     i=buf[25]&0x3F;
  181.     if ( i<0x2B )
  182.         printf("用紙サイズ %s \n",SP[i]);
  183.     else    printf("用紙サイズ reserved ★異常!\n");
  184.     }
  185.  
  186.     //---- Both
  187.     if ( (buf[26]&0x80)==0 )
  188.         printf("Both : 片面読み取り\n");
  189.     else    printf("Both : 両面読み取り\n");
  190.  
  191.     //---- ADF
  192.     i=(buf[26]/0x10)&0x7;
  193.     if ( i==0 )
  194.         printf("ADF type : 片面読み取り\n");
  195.     else if ( i==1 )
  196.         printf("ADF type : 両面読み取り(自動反転)\n");
  197.     else if ( i==2 )
  198.         printf("ADF type : 両面読み取り(両面同時)\n");
  199.     else    printf("ADF type : ★異常!\n");
  200.  
  201.     //---- Paper Stack size
  202.     i=(buf[26])&0xF;
  203.     if ( i==0 )
  204.         printf("Paper Stack Size : 手差し\n");
  205.     else if ( i==1 )
  206.         printf("Paper Stack Size : 50枚\n");
  207.     else if ( i==2 )
  208.         printf("Paper Stack Size : 100枚\n");
  209.     else if ( i==3 )
  210.         printf("Paper Stack Size : 200枚\n");
  211.     else    printf("Paper Stack Size : ★異常?\n");
  212.  
  213.     //---------
  214.     printf("主走査(Xaxis)基本解像度 = %d (%Xh) dpi\n",buf[27]*0x100+buf[28],buf[27]*0x100+buf[28]);
  215.     printf("副走査(Yaxis)基本解像度 = %d (%Xh) dpi\n",buf[29]*0x100+buf[30],buf[29]*0x100+buf[30]);
  216.     printf("主走査(Xaxis)最大解像度 = %d (%Xh) dpi\n",buf[31]*0x100+buf[32],buf[31]*0x100+buf[32]);
  217.     printf("副走査(Yaxis)最大解像度 = %d (%Xh) dpi\n",buf[33]*0x100+buf[34],buf[33]*0x100+buf[34]);
  218.     printf("主走査(Xaxis)最小解像度 = %d (%Xh) dpi\n",buf[35]*0x100+buf[36],buf[35]*0x100+buf[36]);
  219.     printf("副走査(Yaxis)最小解像度 = %d (%Xh) dpi\n",buf[37]*0x100+buf[38],buf[37]*0x100+buf[38]);
  220. }
  221. #endif
  222.